/**
*******************************************************************************
* @file                  zynq_gpio.h
* @author                $Author: Xu <> $
*
* Base class for devices connected via SPI.
* Copyright 2016 RobSense. All rights reserved.
*******************************************************************************/
#ifndef _GPIO_
#define _GPIO_

#ifdef __cplusplus
extern "C" {
#endif
/***************************** Include Files *********************************/
#include "stdio.h"
#include "stdbool.h"
#include "stdint.h"
/************************** Constant Definitions *****************************/

/************************** Variable Definitions ******************************/

/************************** Function Prototypes ******************************/
typedef struct {
	void    (*init)();
	void    (*pinMode)(uint8_t pin, uint8_t Mode);
	uint8_t (*read)(uint8_t pin);
	void    (*write)(uint8_t pin,uint8_t value);
	void    (*toggle)(uint8_t pin);
}GPIO_t;
void GPIO_constructs(GPIO_t *instance);

#ifdef __cplusplus
}
#endif
#endif
